package itheima.com.exam.zy1;

import java.util.Arrays;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        String[] provinces = {"河北省", "山西省", "吉林省", "辽宁省",
                "黑龙江省", "陕西省", "甘肃省", "青海省", "山东省", "福建省", "浙江省",
                "台湾省", "河南省", "湖北省", "湖南省", "江西省", "江苏省", "安徽省",
                "广东省", "海南省", "四川省", "贵州省", "云南省", "北京市", "天津市",
                "上海市", "重庆市", "内蒙古自治区", "新疆维吾尔自治区", "宁夏回族自治区",
                "广西壮族自治区", "西藏自治区", "香港特别行政区", "澳门特别行政区"};
        long cnt3 = Arrays.stream(provinces)
                .filter(p -> p.length() == 3)
                .count();
        System.out.println("三个字的省份个数: " + cnt3);
        long cntDir = Arrays.stream(provinces)
                .filter(p -> p.matches(".*[东南西北].*"))
                .count();
        System.out.println("包含方位名词的省份个数: " + cntDir);

        // 3. 打印名字中包含方位名词的普通省份（非自治区直辖市特别行政区）
        Arrays.stream(provinces)
                .filter(p -> !p.contains("自治区") && !p.contains("市") && !p.contains("特别行政区"))
                .filter(p -> p.matches(".*[东南西北].*"))
                .forEach(System.out::println);
        String[] specials = Arrays.stream(provinces)
                .filter(p -> p.contains("自治区") || p.contains("市") || p.contains("特别行政区"))
                .toArray(String[]::new);
        System.out.println("特殊省份: " + Arrays.toString(specials));
        //冒泡排序
    }
}

